package edu.usmp.p2.vender.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

import edu.usmp.p2.disfraz.model.Pedido;
import edu.usmp.p2.disfraz.model.Vestuario;
import edu.usmp.p2.model.repository.PedidoRepository;
import edu.usmp.p2.model.repository.VestuarioRepository;
import edu.usmp.p2.util.Utilitario;

public class VenderService {
	private VestuarioRepository vestuarioRepository;
	private EntityManager em;
	private PedidoRepository pedidoRepository;
	private Pedido pedido;
	
	private Vestuario vestuario;
	/**
	 * Permite Registrar La Venta de vestuarios
	 * @author ALDO
	 *@version 1.1
	 *@since 31/01/2013
	 */

	public VenderService(){
		em= Utilitario.getInstance().getEntityManager();
		vestuarioRepository = new VestuarioRepository(em);
		pedidoRepository=new PedidoRepository(em);
	}

	/**
	 * Permite buscar un vestuario
	 * @param id
	 * @return
	 */
	public Vestuario buscarVestuario(String id){
		return vestuarioRepository.findById(id);
	}
	/**
	 * Permite registrar el pedido de venta de un vestuario
	 * @param p
	 * @throws RuntimeException
	 */
	public void registrarPedido(Pedido p) throws RuntimeException{
		EntityTransaction tx=em.getTransaction();
		try{
			tx.begin();
			pedidoRepository.insert(p);
			pedidoRepository.findById(p);
			tx.commit();
		}catch (Exception e) {
			e.printStackTrace();
			tx.rollback();
			throw new  RuntimeException("No se pudo registrar");
		}
	}

	public Pedido getPedido() {
		return pedido;
	}

	public void setPedido(Pedido pedido) {
		this.pedido = pedido;
	}

	

	public Vestuario getVestuario() {
		return vestuario;
	}

	public void setVestuario(Vestuario vestuario) {
		this.vestuario = vestuario;
	}

}
